const express = require('express');
const router = express.Router();
const jobController = require('../controllers/job.controller');
const { authenticate, authorize } = require('../middleware/auth');
const { jobRules } = require('../middleware/validators');

// 获取所有职位（公开）
router.get('/', jobController.getAllJobs);

// 根据ID获取职位详情（公开）
router.get('/:id', jobController.getJobById);

// 搜索职位（公开）
router.get('/search', jobController.searchJobs);

// 创建职位（企业用户）
router.post('/', authenticate, authorize('company'), jobRules, jobController.createJob);

// 更新职位（企业用户，仅创建者）
router.put('/:id', authenticate, authorize('company'), jobRules, jobController.updateJob);

// 删除职位（企业用户，仅创建者）
router.delete('/:id', authenticate, authorize('company'), jobController.deleteJob);

// 获取企业发布的所有职位（企业用户）
router.get('/company/my-jobs', authenticate, authorize('company'), jobController.getCompanyJobs);

module.exports = router;